File name 19771126_On_Janus_Procedures.pdfXEROX
BUSINESS SYSTEMS
Systems Development Division
November 26. 1977
i1 SDD nCBlftS
~o a un~erstood
1 bave read an
To: User Interface Group
pages_------
To_-----
From: Dave Smith / SO at Palo Alto Date~_---
ReViewer-----_-;-ef.. .:::/ 1 '$ !? 12 ;:..32'1
Subject: On Janus Procedures f of pages_ -
Filed on: janus-procedures.press
Disclaimer: This paper has no relationship to the section that wilt go in the Janus Functional
Spec. It is strictly a "think piece" discussing what I think are interesting ideas concerning
procedures. The Functional Spec section will. of course, omit all of the philosophical discourse
(otherwise known as bullshit).
Second Disclaimer: There are various ideas floating around the Janus program as to what
"procedures" should be used for:
- automating repetitive tasks (me, Paul)
- data management (Richard, Peter Bishop, Linda, Ron Johnson?)
- information flow control (OfficeTalk, Richard?, Peter Bishop?, Ron Johnson?)
- others?
I don't think these are necessarily disjoint; in fact I expect the procedure design discussed here to
be applicable to all of the application areas above; certainly by the second or third release of
Janus. However focusing on an application has tended to lead the designers down different
paths. I am concentrating on procedures as recorded sequences 0/ user actions, I.e. as macros.
Therefore, to clarify that this is what I mean by "procedure", I will use the term "user macro" or
simply "macro" instead of "procedure" in this memo. Hopefully this will integrate with whatever
other procedure facilities people implement (e.g. records processing).
Goals
The user macro design described here is intended to accomplish two goals:
1. To permit the average user to "program" his Janus system. The main purpose of the
programming is to automate his repetitive tasks. A user who cannot program his
computer can only exploit a fraction of its power.
2
2. To make the programming no more difficult than the normal operation of the system.
This goal is, of course, not absolutely achievable; however I believe that this design comes
close.
If we can achieve goal #1, then pro |